package ch5;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.*;

public class DAteParse {

	public static void main(String[] args) {
		Scanner in = new Scanner(System.in);
		System.out.println("请输入一个年月日的日期：");
		String s = in.nextLine(); // 有可能年月中间有空格的话，识别不出
		// 待匹配的三种字符串模式，放在一个数组里
		// yyyyMMdd 能错误的处理 yyyy-MM-dd 这种格式
		String s1[] = { "yyyy-MM-dd", "yyyy/MM/dd", "yyyyMMdd" };

		// 创建一个SimpleDateFormat对象，初始值为null
		SimpleDateFormat sdf = new SimpleDateFormat();
		sdf.setLenient(false);
		// 创建一个date 对象,初始值为null
		Date date = null;
		for (int i = 0; i < s1.length; i++) {
			try {
				sdf.applyPattern(s1[i]);// 使用数租中的第一个来创建SimpleDateFormat对象
				date = sdf.parse(s); // 调用方法解析字符串文本
				System.out.print("第" + (i + 1) + "次匹配成功 :");
				System.out.println(date);
				// System.out.println(sdf.format(date)); // 匹配的文本格式化输出.
				return; // 使用return，只要匹配上，就结束后面所有的语句块
			} catch (ParseException e) {
				System.out.println("第" + (i + 1) + "匹配失败");
			}
		}
		System.out.println("日期格式非法");

	}

}
